package com.tfjybj.itoo.teach.provider.dao;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.tfjybj.itoo.teach.entity.InstitutionEntity;
import com.tfjybj.itoo.teach.model.InstitutionModel;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;

/**
 * InstitutionDao接口
 * institution表
 *
 * @author 田成荣
 * @version 2.0.0
 * @since 2.0.0 2018-11-08 19:34:10
 */
@Repository("institutionDao")
public interface InstitutionDao extends BaseMapper<InstitutionEntity> {
	
	//region 模板生成：模糊查询
	/**
     * 根据机构名称模糊查询institution
     *
     * @param name  机构名称
     * @return 模糊查询的institution集合
     * @author 田成荣
     * @since 2.0.0 2018-11-08 19:34:10
     */
    List<InstitutionEntity> queryLikeName(@Param("name") String name);
	//endregion

    /* **********************************以下为非模板生成的内容********************************* */
    /**
     * 查询所有党政部门
     * @return Institution
     * @author 杨燕梅
     * @since 2.0.0 2018-11-23 11:52:12
     */
    List<InstitutionModel>queryAllInstitution();

    /**
     * 查询所有党政部门（带分页）
     * @return 所有党政部门
     * @author 杨燕梅
     * @since 2.0.0 2018-12-19 16:12:30
     */
    List<InstitutionModel>queryAllInstitutionPageInfo();

    /**
     * 根据名称查ID（学院和机构）-张家豪
     * @param id 名称
     * @return ID
     * @author 杨燕梅
     * @since 2.0.0 2018-11-25 16:00:30
     */
    List<InstitutionModel>queryAcademyAndInstitutionIdByName(@Param("id") String id);

    /**
     * 根据党政部门名称模糊查询institution(带分页)
     * @param searchContent  教学部门名称
     * @return 模糊查询的institution
     * @author 杨燕梅
     * @since 2.0.0 2018-12-8 11:27:27
     */
    List<InstitutionModel> queryInstitutionByLikeName(@Param("searchContent") String searchContent);

    /**
     * 根据党政部门ID查询党政部门详情
     *
     * @param idList 党政部门ID
     * @return 党政部门实体集合
     * @author 杨燕梅
     * @since 2.0.0 2018-12-12 19:48:32
     */
    List<InstitutionModel> queryInstitutionById(@Param("idList") List<String> idList);

    /**
     * 根据党政部门代码和党政部门名称查询党政部门是否已存在
     *
     * @param code   党政部门代码
     * @param name   党政部门名称
     * @return 党政部门信息
     * @author 杨燕梅
     * @since 2.0.0 2018-11-29 19:37:30
     */
    List<InstitutionEntity> queryByCodeAndNameExist(@Param("code") String code, @Param("name") String name);
}
